﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Entidades;
using System.Drawing;
using DAO;

public partial class abmActividad : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        lblError.Text = "";
        llenarGrilla();
    }
    protected void btnAgregar_Click(object sender, EventArgs e)
    {        
        try
        {
            Actividad actividad = new Actividad();
            actividad.Descripcion = txtDescripcion.Text;    
            actividad.Precio = float.Parse(txtPrecio.Text);
            ActividadDAO.agregarActividad(actividad);
            pnlAlta.Visible = false;
            pnlListado.Visible = true;
            lblError.ForeColor = Color.Green;
            lblError.Text = "Actividad insertada correctamente";
            llenarGrilla();
            txtDescripcion.Text = "";
            txtPrecio.Text = "";            
        }
        catch (SystemException ex)
        {
            lblError.Text += ex.Message.ToString();
        }
        

    }
    protected void llenarGrilla()
    {
        try
        {
        dgvActividades.DataSource = ActividadDAO.obtenerActividades(txtPrecioDesde.Text,txtPrecioHasta.Text);
        dgvActividades.DataKeyNames = new string[] { "Id" };
        dgvActividades.DataBind();
        }
        catch (SystemException ex)
        {
            lblError.Text += ex.Message.ToString();
        }
    }
    protected void btnNuevaActividad_Click(object sender, EventArgs e)
    {
        pnlAlta.Visible = true;
        pnlListado.Visible = false;
        btnAgregar.Visible = true;
        btnModificar.Visible = false;
    }
    protected void btnConsultar_Click(object sender, EventArgs e)
    {
        try
        {
            if (Double.Parse(txtPrecioDesde.Text) < Double.Parse(txtPrecioHasta.Text))
            {
                llenarGrilla();
            }
            else
                lblError.Text = "El precio desde debe ser menor al precio hasta.";
        }
        catch (SystemException ex)
        {
            lblError.Text += ex.Message.ToString();
        }
            
    }
    protected void btnModificar_Click(object sender, EventArgs e)
    {
        try
        {
            Actividad actividad = new Actividad();
            actividad.Id = int.Parse(txtId.Value);
            actividad.Descripcion = txtDescripcion.Text;
            actividad.Precio = float.Parse(txtPrecio.Text);
            ActividadDAO.modificarActividad(actividad);
            pnlAlta.Visible = false;
            llenarGrilla();
            txtId.Value = "";
            txtPrecio.Text = "";
            txtDescripcion.Text = "";

        }
        catch (SystemException ex)
        {
            lblError.Text += ex.Message.ToString();
        }
      
    }
    protected void btnEliminar_Command(object sender, CommandEventArgs e)
    {
        int index = Convert.ToInt32(e.CommandArgument);
        int idActividad = int.Parse(dgvActividades.DataKeys[index].Value.ToString());
        try
        {
            if (e.CommandName == "Modificar")
            {
                pnlAlta.Visible = true;
                Actividad act = ActividadDAO.obtenerActividadId(idActividad);
                txtId.Value = act.Id.ToString();
                txtDescripcion.Text = act.Descripcion;
                txtPrecio.Text = act.Precio.ToString();
                btnAgregar.Visible = false;
            }
            if (e.CommandName == "Eliminar")
            {
                ActividadDAO.bajaActividad(idActividad);
                llenarGrilla();

            }
        }
        catch (SystemException ex)
        {
            lblError.Text += ex.Message.ToString();
        }
    }
    protected void dgvActividades_PageIndexChanging(object sender, GridViewPageEventArgs e)
    {
        dgvActividades.PageIndex = e.NewPageIndex;
        dgvActividades.DataBind();
    }
}